package ar.com.algotres.tpdos.model.mapas;

import java.util.ArrayList;
import java.util.List;

import ar.com.algotres.tpdos.model.aterrizable.DisposicionPista;
import ar.com.algotres.tpdos.model.aterrizable.Helipuerto;
import ar.com.algotres.tpdos.model.aterrizable.Pista;
import ar.com.algotres.tpdos.model.aterrizable.PistaDobleEntrada;
import ar.com.algotres.tpdos.model.aterrizable.PistaLarga;
import ar.com.algotres.tpdos.model.aterrizable.PistaSimple;
import ar.com.algotres.tpdos.model.fisica.Posicion;

public class FabricaMapas {
	
	public static Mapa getMapaNivel1() {

		Pista pistaSimpleA = new PistaSimple(new Posicion(20.0, 20.0), DisposicionPista.HORIZONTAL);
		Pista pistaSimpleB = new PistaSimple(new Posicion(60.0, 120.0), DisposicionPista.HORIZONTAL);
		Pista pistaDobleA = new PistaDobleEntrada(new Posicion(500.0, 70.0), DisposicionPista.VERTICAL);
		Pista pistaDobleB = new PistaDobleEntrada(new Posicion(550.0, 500.0), DisposicionPista.HORIZONTAL);
		Pista pistaLargaA = new PistaLarga(new Posicion(50.0, 400.0), DisposicionPista.HORIZONTAL);
		Pista helipuertoA = new Helipuerto(new Posicion(300.0, 200.0), DisposicionPista.HORIZONTAL);
		
		List<Pista> pistas = new ArrayList<Pista>();
		pistas.add(pistaSimpleA);
		pistas.add(pistaSimpleB);
		pistas.add(pistaDobleA);
		pistas.add(pistaDobleB);
		pistas.add(pistaLargaA);
		pistas.add(helipuertoA);
		
		return new Mapa(pistas);
	}
	
	public static Mapa getMapaNivel2() {

		Pista pistaSimpleA = new PistaSimple(new Posicion(200.0, 500.0), DisposicionPista.HORIZONTAL);
		Pista pistaDobleA = new PistaDobleEntrada(new Posicion(500.0, 70.0), DisposicionPista.VERTICAL);
		Pista pistaLargaA = new PistaLarga(new Posicion(70.0, 60.0), DisposicionPista.VERTICAL);
		Pista helipuertoA = new Helipuerto(new Posicion(600.0, 500.0), DisposicionPista.HORIZONTAL);
		
		List<Pista> pistas = new ArrayList<Pista>();
		pistas.add(pistaSimpleA);
		pistas.add(pistaDobleA);
		pistas.add(pistaLargaA);
		pistas.add(helipuertoA);
		
		return new Mapa(pistas);
	}
	
	public static Mapa getMapaNivel3() {

		Pista pistaSimpleA = new PistaSimple(new Posicion(100.0, 100.0), DisposicionPista.VERTICAL);
		Pista pistaDobleA = new PistaDobleEntrada(new Posicion(400.0, 300.0), DisposicionPista.HORIZONTAL);
		Pista pistaLargaA = new PistaLarga(new Posicion(200.0, 60.0), DisposicionPista.HORIZONTAL);
		Pista helipuertoA = new Helipuerto(new Posicion(20.0, 20.0), DisposicionPista.HORIZONTAL);
		Pista helipuertoB = new Helipuerto(new Posicion(700.0, 500.0), DisposicionPista.HORIZONTAL);
		
		List<Pista> pistas = new ArrayList<Pista>();
		pistas.add(pistaSimpleA);
		pistas.add(pistaDobleA);
		pistas.add(pistaLargaA);
		pistas.add(helipuertoA);
		pistas.add(helipuertoB);
		
		return new Mapa(pistas);
	}

}
